home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
monitory
/
amigamonitor
/
amon.doc
< prev
next >
Wrap
Text File
|
1987-05-03
|
15KB
|
482 lines
*1
Amiga Monitor User's Guide
Version 1.13
April 29, 1987
J. S. Voris
Quma Software
P.O. Box 593
Hunt Valley, MD 21030
BBS: (301) 666-9109
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
Version 1.13 Amiga Monitor User's Guide Page 1
PREFACE
AmigaMon is shareware software. It may be freely
distributed so long as it is unchanged, and this document
is distributed with it. If you use AmigaMon at work or for
commercial purposes, a contribution of $15 is requested.
Please send contributions to me at the address shown on the
title page of this document. I make NO warranty of any kind
on the merchantability, etc. of AmigaMon. It's provided as
is.
Source code for AmigaMon is available separately at a
negotiable price.
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
K3
Version 1.13 Amiga Monitor User's Guide Page 2
1.0 Introduction
M
The Amiga Monitor is designed to monitor the dynamics of the Amiga's
multitasking operating system. By selecting from standard Amiga
pull-down menus it will dynamically display:
o - Open Files: Shows volume names and the files on that volume that
have open locks.
o - Active Tasks: Shows a list of all the active tasks in the
system.
o - Free Memory: Shows a list of the free memory in the system.
o - Resources: Shows a list of resources known to the system.
o - Devices: Shows a list of devices known to the system.
o - Interrupts: Shows a list of interrupts known to the system.
o - Libraries: Shows a list of the libraries known to the system.
o - Ports: Shows a list of the ports known to the system.
In addition, another option allows the dynamic display of the
contents of memory.
AmigaMon was born from my own desire to see what was going on inside
the Amiga. It was modeled to some extent to look like a similar tool
available on DEC's RSX-11M-PLUS operating system: RMD. The goal in
its writing was to display as much as possible about what was going
on inside the box without getting in the way of whatever was running.
I think that generally I have succeeded, though the final version is
somewhat larger than I had hoped it would be.
K3 2.0 General Description
M
AmigaMon can be run from either the Workbench or from the CLI. When
first started, it displays a blank screen, with a screen title bar.
The menu options are displayed by hitting the right mouse button.
Choosing an option from the menu fills the display with the requested
information.
Note that ALL the different displays in AmigaMon are DYNAMIC, i.e.
the information that AmigaMon displays is sampled at the rate
specified from the update menu (default rate is once every 2
seconds).
The actual use of AmigaMon should be fairly self explanatory in that
it uses the standard Intuition interface of pull-down menus, etc. The
following section on 'options' provides greater detail about what the
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
Version 1.13 Amiga Monitor User's Guide Page 3
menu items mean.
K3 3.0 Options
M
The main menu of AmigaMon contains the following items:
Project Monitor View Set Page Update Rate
Each of these is discussed in greater detail in the following
sections.
K3 3.1 Project
M
The Project menu has items that are related to all the different
screens of Amigamon. These items are: About, Hide/Show Title, Stop
Update, Snapshot, and Exit.
o - About: displays a requester that provides some information about
this particular version of AmigaMon.
o - Hide/Show Title: toggles to either hide the screen title, or show
it. Note that when the screen title is hidden, the status line
appears. The status line is updated at the update rate selected
from the Update menu. It shows which display is currently active,
percent idle CPU, the amount of free memory in the system, and
the system time.
o - Stop Update: when selected, will clear the currently active
screen, and leave only the status line active.
o - Snapshot: AmigaMon will write the current screen contents
(including status line), to standard out. You can redirect
standard out on the command line you use to invoke AmigaMon. For
example, to redirect snapshots to the file snap.log, use the
command line:
run AmigaMon > snap.log
The snapshot feature has not been tested when AmigaMon is run via
an icon from the workbench.
o - Exit: exit AmigaMon. AmigaMon will shut down the active screen,
release all its memory and exit.
K3 3.2 Monitor
M
The monitor menu allows you to select among monitoring the open files
in the system as well as the various lists that have their listheads
in the ExecBase structure.
The open files display shows the volume names and the files on that
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
Version 1.13 Amiga Monitor User's Guide Page 4
volume that have outstanding file locks. For each file, it displays
the last modify date for the file, and for non-directory files, it
displays the size of the file in bytes. Note that this display is
DYNAMIC. In order for AmigaMon to get all the information for the
open files display, it must access the disk. This will generally
occur only when AmigaMon has detected a change in the number of open
locks on a volume.
The lists in the ExecBase structure that are monitored are: MemList
(free memory), ResourceList (resources), DeviceList (devices),
IntrList (interrupts), LibList (libraries), PortList (ports),
TaskReady and TaskWait. For these list based displays to be useful,
you really need to reference the appropriate structures that define
these lists. These structures are defined in the ROM Kernal Manual,
as well as in the appropriate 'C' include files. AmigaMon extracts
what I thought would be the most interesting portion of each type of
list for display. The column headings for each display should be
self-explanatory if you also refer to the appropriate structure
definition in the RKM.
K3 3.3 View
M
The view menu lets you 'view' memory. There are two menu items: data
and instructions. The only one currently implemented is the data
view. Selecting the data item will display memory beginning at the
address specified from the 'Set' menu. Data may be viewed as either
bytes, 2 byte words and 4 byte long words as selected from the 'Set'
menu. In addition to the hex display of memory data, the ASCII byte
representation of memory is displayed at the far right of the screen.
The 'Page' menu allows you to move forward and backward in memory one
page at a time.
When implemented, selecting the view instructions item will allow the
display of memory as instructions, i.e. a disassembler.
K3 3.4 Set
M
The 'Set' menu allows you to set the starting address to be used when
viewing memory as data or instructions. It also allows you to set the
size of the data word to be displayed on the view data screen as
either 1 byte, 2 bytes, or 4 bytes.
When setting the starting address, a requester appears on the screen.
It has a drag bar so that if it's covering a part of the screen that
you need to see, you can just drag it to someplace out of the way.
The requester also has a 'BCPL' gadget. Selecting the BCPL gadget
multiplies the currently selected address by four. This is so that
you can enter a BCPL address and have AmigaMon convert it to a
machine address for you. Note that AmigaMon has no notion of whether
the address you have entered needs BCPL conversion or not. If you
don't know what a BCPL address is, you shouldn't use the BCPL gadget.
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
Version 1.13 Amiga Monitor User's Guide Page 5
Alternately, you could get a copy of the ROM Kernal Manuals and read
about them.
K3 3.5 Page
M
The 'Page' menu allows you to page forward or backward, depending
upon which screen is currently being displayed. Paging is currently
implemented only for the 'Open Files' display and the 'View Data'
display. On other screens, these menu items are disabled. For the
'Open Files' display, they are enabled only when there is more than
one screen's worth of open files to display.
K3 3.6 Update Rate
M
The 'Update Rate' menu allows you to change the rate at which the
screen is updated. These vary from 1 second updates to 60 second
updates.
K3 4.0 Implementation Notes
M
AmigaMon was written in 'C' and at this writing includes about 2500
lines of code. Version 1.13 was compiled using the Aztec 3.4
compiler. Previous versions were compiled with the Lattice V3.03
compiler and linked using Blink Version 5.7.
K3 5.0 Future Enhancements
M
The future enhancements listed below are not commitments. Whether a
particular item gets implemented will depend upon a number of
factors. If I get a lot of requests for a specific enhancement, that
will (or it should!) influence whether it gets done. How easy a
particular item is to do will also have a lot to do with whether it
gets done. In any case, if you can think of anything you think fits
in with AmigaMon and you want to see it added to the list below, let
me know.
o - If there were sufficient demand for it, I'll put in a
dis-assembler so you can view memory as both data or code.
o - I think there is a way to block an active task; i.e. shut a task
down so that it doesn't compete for CPU. You would also be able
to UN-block it. This might be useful. If you think it would be
nice, let me know, and I'll put it on my to do list.
o - The active task display should be modified so that tasks don't
jump around just because they happen to appear in a different
queue. They should be sorted by the address of their Task
structures. That way, they wouldn't all the time be jumping
around and the display would be more readable.
o - Also for the task display, it would be nice to display the task
size (i.e. the amount of RAM that it consumes). This would be a
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
Version 1.13 Amiga Monitor User's Guide Page 6
display of the RAM that the Exec knew that the task was using and
wouldn't include the RAM that the task had alloc'ed after
startup.
o - It would be nice to have a separate display page to display
particulars about a specific task. Information would include such
things as current register contents, and the state of various
flags defined in the Task structure.
K3 6.0 Fixed Bugs
M
o - In version 1.0, if a long update rate was selected, AmigaMon had
to wait for that amount of time before it would exit. This has
been fixed. AmigaMon will exit immediately following the exit
command.
o - Version 1.0 Open Files display would crash the Amiga when running
under WB 1.2. This has been fixed to some extent in the current
release. The AmigaMon Open files display will probably still
crash when used on an Amiga with a hard disk. This is due to an
unsatisfactory algorithm used to locate the Open files. There is
no easy workaround at the moment.
K3 7.0 Known Bugs
M
o - Paging doesn't work well on the Open Files display. The way this
is supposed to work is if AmigaMon detects that more than one
pages worth of Open Files information exists, it will enable the
Next Page menu item (and conditionally the Previous Page item).
If you then select the Next Page menu item, the next page is
supposed to be displayed. Well, it used to work right, but
somewhere it got broken and it hasn't been fixed yet. The
workaround is not to have so many files open at once. The bug is
relatively harmless, (i.e. it won't crash the program or your
system), but it's a nuisance.
o - Paging is unimplemented on other displays except for the View
memory display. This is not so much a bug as an unimplemented
feature.
o - AmigaMon has not been tested on a system with FAST memory. If it
works please let me know.
o - AmigaMon has not been tested on a system with hard disks. It is
very likely that AmigaMon will crash when viewing Open Files on
a system with a hard disk.
« Copyright 1986, 1987 Jim Voris. All Rights Reserved
%
Table Of Contents
Amiga Monitor Version 1.13
PREFACE......................................................... 1
1.0 Introduction ............................................ 2
2.0 General Description ...................................... 2
3.0 Options ................................................. 3
3.1 Project .............................................. 3
3.2 Monitor .............................................. 3
3.3 View ................................................. 4
3.4 Set .................................................. 4
3.5 Page ................................................. 5
3.6 Update Rate ........................................... 5
4.0 Implementation Notes ..................................... 5
5.0 Future Enhancements ...................................... 5
6.0 Fixed Bugs ............................................... 6
7.0 Known Bugs ............................................... 6
- I -